#include<iostream>
#include<string>
#include<vector>
using namespace std;
string table[10] = { "","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz" };
void combinate(string& digits, string comb, vector<string>& vs)
{
    if (digits.size() == 0)
        return;
    if (digits.size() == comb.size())
    {
        vs.push_back(comb);
    }
    else
    {
        int num = (int)(digits[comb.size()] - '0');
        for (auto x : table[num])
        {
            combinate(digits, comb + x, vs);
        }
    }
}
vector<string> letterCombinations(string digits)
{
    vector<string> vs;
    combinate(digits, "", vs);
    return vs;
}int main()
{
    vector<string> vs=letterCombinations("23");
    return 0;
}